/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.6                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application     pisoFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         0.1;

deltaT          0.001;

writeControl    adjustableRunTime;

writeInterval   0.01;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression uncompressed;

timeFormat      general;

timePrecision   6;

runTimeModifiable yes;

adjustTimeStep  no;

maxCo 0.1;

//libs ( "libgroovyBC.so" );
DimensionedConstants
{
    unitSet             CGS; // SI; // USCS; // 

    CGSCoeffs
    {
        universal
        {
            c               c [ 0 1 -1 0 0 0 0 ] 2.99792e+10; // speed of light in vacuum (cm/s)
            G               G [ -1 3 -2 0 0 0 0 ] 6.67429e-8; // gravitational constant (cm^3/(gs^2))
            h               h [ 1 2 -1 0 0 0 0 ] 6.62607e-27; // Planck's constant (erg.s)
        }
        electromagnetic
        {
            e               e [ 0 0 1 0 0 1 0 ] 4.803204e-10; // elementary charge (statcoulomb)
        }
        atomic
        {
            me              me [ 1 0 0 0 0 0 0 ] 9.10938e-28; // electron mass (g)
            mp              mp [ 1 0 0 0 0 0 0 ] 1.67262e-24; // proton mass (g)
        }
        physicoChemical
        {
            mu              mu [ 1 0 0 0 0 0 0 ] 1.66054e-24; // atomic mass unit (g)
            k               k [ 1 2 -2 -1 0 0 0 ] 1.38065e-16; // Boltzman constant (erg/K)
        }
        standard
        {
            //- Standard pressure [bar]
            Pstd            Pstd [ 1 -1 -2 0 0 0 0 ] 1000000; // 1 bar (barye)
            //- Standard temperature [degK]
            Tstd            Tstd [ 0 0 0 1 0 0 0 ] 298.15; // should be same as in SI unit system
        }
    }

    SICoeffs
    {
        universal
        {
            c               c [ 0 1 -1 0 0 0 0 ] 2.99792e+08;
            G               G [ -1 3 -2 0 0 0 0 ] 6.67429e-11;
            h               h [ 1 2 -1 0 0 0 0 ] 6.62607e-34;
        }
        electromagnetic
        {
            e               e [ 0 0 1 0 0 1 0 ] 1.60218e-19;
        }
        atomic
        {
            me              me [ 1 0 0 0 0 0 0 ] 9.10938e-31;
            mp              mp [ 1 0 0 0 0 0 0 ] 1.67262e-27;
        }
        physicoChemical
        {
            mu              mu [ 1 0 0 0 0 0 0 ] 1.66054e-27;
            k               k [ 1 2 -2 -1 0 0 0 ] 1.38065e-23;
        }
        standard
        {
            //- Standard pressure [Pa]
            Pstd            Pstd [ 1 -1 -2 0 0 0 0 ] 100000;
            //- Standard temperature [degK]
            Tstd            Tstd [ 0 0 0 1 0 0 0 ] 298.15;
        }
    }

    USCSCoeffs
    {
        universal
        {
            c               c [ 0 1 -1 0 0 0 0 ] 9.83558e+08;
            G               G [ -1 3 -2 0 0 0 0 ] 1.06909e-09;
            h               h [ 1 2 -1 0 0 0 0 ] 1.57234e-32;
        }
        electromagnetic
        {
            e               e [ 0 0 1 0 0 1 0 ] 1.60218e-19;
        }
        atomic
        {
            me              me [ 1 0 0 0 0 0 0 ] 2.00825e-30;
            mp              mp [ 1 0 0 0 0 0 0 ] 3.68746e-27;
        }
        physicoChemical
        {
            mu              mu [ 1 0 0 0 0 0 0 ] 3.66083e-27;
            k               k [ 1 2 -2 -1 0 0 0 ] 1.82012e-22;
        }
        standard
        {
            //- Standard pressure [lbm/ft^2]
            Pstd            Pstd [ 1 -1 -2 0 0 0 0 ] 2088.6;
            //- Standard temperature [degR]
            Tstd            Tstd [ 0 0 0 1 0 0 0 ] 536.67;
        }
    }
}

functions
{

    probes
    {
        type        probes;
        // Where to load it from
        functionObjectLibs ( "libsampling.so" );  
        // Name of the directory for probe data
        name        probes;
        probeLocations
        (
            (0 0 0.01)
            (0 0 0.26)
            (0 0 0.51)
            (0 0 0.76)
            (0 0 1.01)
            (0 0 1.26)
            (0 0 1.51)
            (0 0 1.76)
            (0 0 2.01)
            (0 0 2.26)
            (0 0 2.51)
            (0 0 2.76)
            (0 0 3.01)
            (0 0 3.26)
            (0 0 3.51)
            (0 0 3.75)
            (0 0 4.01)
            (0 0 4.26)
            (0 0 4.51)
            (0 0 4.76)
            (0 0 5.29)
        );

        // Fields to be probed
        fields ( p U voidfraction volAverage_voidfraction);

        // Write at same frequency as fields
        outputControl   timeStep;//outputTime;
        outputInterval  1;
    }

   /*pressureDrop
   {
     type patchAverage;
     functionObjectLibs
     (
         "libsimpleFunctionObjects.so"
     );
     verbose true;
     patches
     (
         inlet
         outlet
     );
     fields
     (
         p
     );
     factor  1;
   }*/
}
// ************************************************************************* //
